package net.sansi.v3correctserver.service.v3serverapi;

import com.dtflys.forest.annotation.*;
import net.sansi.v3correctserver.dto.v3serverapi.V3ServerApiColorDto;

/**
 * v3-server 的 color api接口
 */
@BaseRequest(
        baseURL = "#{correct.v3-server.host}",
        interceptor = V3ServerApiInterceptor.class
)
public interface V3ServerColorApi {

    @Get("/screens/{screenId}/gamma")
    V3ServerApiColorDto.factor gamma(@Body("screenId") String screenId);

    @Put("/screens/{screenId}/gamma")
    V3ServerApiColorDto.updateResp gammaUpdate(@Body("screenId") String screenId, @JSONBody V3ServerApiColorDto.factor data);

    @Get("/screens/{screenId}/gammaMethod")
    V3ServerApiColorDto.method gammaMethod(@Body("screenId") String screenId);

    @Put("/screens/{screenId}/gammaMethod")
    V3ServerApiColorDto.updateResp gammaMethodUpdate(@Body("screenId") String screenId, @JSONBody V3ServerApiColorDto.method data);

    @Get("/screens/{screenId}/gammaBuiltIn")
    V3ServerApiColorDto.builtIn gammaBuiltIn(@Body("screenId") String screenId);

    @Put("/screens/{screenId}/gammaBuiltIn")
    V3ServerApiColorDto.updateResp gammaBuiltInUpdate(@Body("screenId") String screen, @JSONBody V3ServerApiColorDto.builtIn data);

    @Get("/screens/{screenId}/gammaCorrect")
    V3ServerApiColorDto.gammaCorrect gammaCorrect(@Body("screenId") String screenId);

    @Put("/screens/{screenId}/gammaCorrect")
    V3ServerApiColorDto.updateResp gammaCorrectUpdate(@Body("screenId") String screenId, @JSONBody V3ServerApiColorDto.gammaCorrect data);
}

